package fr.adfm.managedbean;

import java.io.Serializable;
import java.util.Map;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import fr.adfm.dto.ClientDto;
import fr.adfm.dto.MemberDto;
import fr.adfm.service.facade.Facade;

@Component
@Scope("request")
public class LoginCtrl implements Serializable {
	
	@Autowired
	private Facade facade;
	
	@Autowired 
	private SessionManager sessionManager;
	
	private String email;
	private String motDePasse;
	private String messageLogin;
	
	public String getMessageLogin() {
		return messageLogin;
	}
	public void setMessageLogin(String messageLogin) {
		this.messageLogin = messageLogin;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getMotDePasse() {
		return motDePasse;
	}
	public void setMotDePasse(String motDePasse) {
		this.motDePasse = motDePasse;
	}
	public String seConnecter() {
		setMessageLogin("");
		MemberDto membre = facade.getLoginService().doConnexion(email,motDePasse);
		if (membre == null) {
			setMessageLogin("email ou mot de passe inconnu");
			System.out.println(messageLogin);
			return null;
		} else {
			System.out.println("type ="+membre.getProfil());
			if( "Client".equals(membre.getProfil())) {
				sessionManager.setMembre(membre);
				Map<String, Object> sessionMap = FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
				sessionMap.put("memberDto", membre);
				return "liste_ventesprivees";
			} else {
				setMessageLogin("email ou mot de passe inconnu");
				System.out.println(messageLogin);
				return null;
			}
		}
	}
	
	
	
}
